package com.egao.common.module.company.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.company.entity.MutualApply;
import com.egao.common.module.company.entity.vo.MutualApplyListVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 双选会申请记录(MutualApply)表数据库访问层
 *
 * @author dl
 * @since 2021-02-24 13:52:35
 */
@Repository
public interface MutualApplyMapper extends BaseMapper<MutualApply> {
    /**
     * 获取最大号牌
     * @param mutualId 双选会
     * @return
     */
    Integer getMaxNumberPlate(@Param("mutualId") Integer mutualId);

    /**
     * 列表
     * @param page 分页对象
     * @return
     */
    List<MutualApplyListVO> listPage(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 所有双选会
     * @param page 分页对象
     * @return
     */
    List<MutualApplyListVO> listAllPage(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计总数
     * @author
     * @param page 单位分页
     * @return
     */
    Integer countTotal(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计总数
     * @author
     * @param page 单位分页
     * @return
     */
    Integer countTotalCompany(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计省份
     * @author
     * @param page 单位分页
     * @return
     */
    List<Map<String, Object>> countProvince(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计单位性质
     * @author
     * @param page 单位分页
     * @return
     */
    List<Map<String, Object>> countNature(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计单位行业
     * @author
     * @param page 单位分页
     * @return
     */
    List<Map<String, Object>> countIndustry(@Param("page") PageParam<MutualApplyListVO> page);
    /**
     * 统计单位规模
     * @author
     * @param page 单位分页
     * @return
     */
    List<Map<String, Object>> countScale(@Param("page") PageParam<MutualApplyListVO> page);

}